
<p class="title" align="center">Triangle Java Users Group Presents:</p>
<p class="header4" align="center">Using Code Metrics for Targeted Code Refactoring</p>
<p class="header4" align="center"><span align="center" class="header3">presented
  by Andrew Glover</span></p>

<p align="center"><b>Monday, April 18, 2005 </b><br>
<b>6:30 PM - 9:00 PM</b> <br>
<a href="http://www.nortelnetworks.com" target="_blank"><img src="images/nn_logo_tag.gif" border="0"></a><br>

4001 E. Chapel Hill-Nelson Highway
  <br>
  Research Triangle Park, North Carolina</p>

<p><span class="header2">Abstract:</span><br>
Often times, candidate code for refactoring is based upon a source
file's smell, which its spotting can take time to acquire and is
largely 
based upon subjective determinations. The proper use of code metrics,
such as Cyclomatic Complexity, Fan-In, Fan-Out, and Depth of
Inheritance 
can also facilitate the discovery of candidate code which is in need of
refactoring.
</p>
<p>
For example, Cyclomatic Complexity is adept at spotting methods
containing a high degree of conditional logic, which, consequently, can
be replaced with polymorphism as elaborated in Martin Fowler's seminal
work, Refactoring with the Replace Conditional with Polymorphism
pattern. Additionally, excessively deep hierarchy trees create
problematic testing targets, which can be broken out into separate
objects with Fowler's Replace Inheritance with Delegation and Collapse 
Hierarchy patterns. Fan-In and Fan-Out are quite effective at 
pinpointing brittle code, which can be refactored into a more stable 
state with a plethora of patterns including Extract Hierarchy and
Extract 
Class.  The knowledge of how to effectively spot smelly code and
replace 
it with proven patterns will ultimately lead to a more stable,
maintainable and elegant code base.
</p>

<p><span class="header2">About the Speaker:</span><br>
Andrew Glover is the founder and CEO of Vanward Technologies, a 
Washington, DC, metro area company specializing in the construction of 
automated testing frameworks, which lower software bug counts, reduce 
integration and testing times, and improve overall code stability. Mr. 
Glover's career includes leadership in software development for such 
notable companies as IBM, Philips Electronics, and Proctor & Gamble and
is the co-author of "Java Testing Patterns".
</p>
<br>
<p>
<p><span class="header2">About the Conference ===================================</span><br>
<br>
Research Triangle Software Symposium 2005 coming to RTP on June 10-12th
with five concurrent sessions Core Java, Client side Java, Server side 
Java, XML/Web Services & Architecture.  There
will be a drawing for a membership at each of the April and May
meetings.  
</p>
<p>
<!--<a href="www.nofluffjuststuff.com/2005-06-raleigh/index.jsp">www.nofluffjuststuff.com/2005-06-raleigh/index.jsp</a> -->
<a href="http://www.nofluffjuststuff.com/">No Fluff Just Stuff</a> 
</p>
<br>
<span class="header2">Agenda:</span><br>
6:30 - 7:00 PM -- Meet, Talk, Pizza <br>
7:00 - 7:15 -- JUG Business and Announcements <br>
7:15 - 8:15 -- Presentation <br>
8:15 - 8:30 -- Discussion with Presenter <br>
9:00 - Doors close <br>

<br>


<p><span class="header2">Admission:</span><br>
Paid-up members of TriJUG may attend without additional charge.
Non members are asked to pay $5 per meeting. But, if you are either a full time
student or unemployed, then we ask only $2 per meeting.</p>

<p><span class="header2">DIRECTIONS to Nortel Networks:</span><br>
<b>From Raleigh:</b> <br>
Proceed West on I40 to Davis Drive (Exit 280)
Take exit for Davis Drive.
At the top of the ramp turn left (south) on Davis Drive
Proceed to the light at Davis and 54 (aprox 1/3 mile)
Turn left onto 54.
Proceed approx. 1/4 mile to first (of 3) Nortel entrances on your left.
Turn left into Nortel site (you should see a pond to your right)
Proceed aprox. 200 yards to the first right turn into parking lot.
Park near center of near side of building
Enter through guard station near BIG YELLOW WALL.
(Know your car's license plate number -- guard may ask.)
</p>


<p><b>From Durham:</b><br>
Proceed East on I40 to Davis Drive (Exit 280)
Take exit for Davis Drive.
At the top of the ramp turn left (south) on Davis Drive
Proceed to the light at Davis and 54 (approx 1/4 mile)
Turn left onto 54.
Proceed approx. 1/4 mile to first (of 3) Nortel entrances on your left.
Turn left into Nortel site (you should see a pond to your right)
Proceed aprox. 200 yards to the first right turn into parking lot.
Park near center of near side of building
Enter through guard station near BIG YELLOW WALL.
(Know your car's license plate number -- guard may ask.)
<!--
<p align="center">Click here for <a href="http://www.mcnc.org/rdi/index.cfm?fuseaction=page&filename=location_and_directions.html">map with
directions</a>, or visit the <a href="http://www.mcnc.org/">MCNC web site</a>.
-->
</p>
<p><b>From Cary/Apex:</b><br>
Entering RTP on Davis proceed to intersection with Hwy 54.
Turn Right onto Hwy 54 (at light)
Proceed approx. 1/4 mile to first (of 3) Nortel entrances on your left.
Turn left into Nortel site (you should see a pond to your right)
Proceed aprox. 200 yards to the first right turn into parking lot.
Park near center of near side of building
Enter through guard station near BIG YELLOW WALL.
(Know your car's license plate number -- guard may ask.)
</p>
<br>
<br>

